<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 

class Produtos extends CI_Controller {
	
	function __construct() {
		parent::__construct();
	
		# Carregando Models
		$this->load->model(
		array(
		'Produto',
		'Mesa'
			)
		);
	}
	
	/**
	* @name index()
	* @param void
	* @return void
	* @see Produtos
	* @since 28/05/2013
	* @author Carlos Augusto Dugonski
	*/
	public function index() {
		if ($this->index->logado() == 'administrador') {
			$this->index->montarPagina('produto/produto_view');
		} else {
			redirect('home');
		}
    }
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function criar(){
    	$aDdata['nome_produto'] = mysql_real_escape_string(strtolower($_POST['nome']));
    	$aDdata['descricao_produto'] = mysql_real_escape_string(strtolower($_POST['desc']));
    	$aDdata['valor'] = mysql_real_escape_string(strtolower($_POST['valor']));
    	$aDdata['status'] = mysql_real_escape_string(strtolower($_POST['status'])); 
    	$this->Produto->criar($aDdata);
    	redirect('produtos');
    	if ($this->index->logado() == 'administrador') {
    		
    	}
    }
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function upload() {
    	// verifica se foi enviado um arquivo
    	if(isset($_FILES['arquivo']['name']) && $_FILES["arquivo"]["error"] == 0) {
    		 
    		$arquivo_tmp = $_FILES['arquivo']['tmp_name'];
    		$nome = $_FILES['arquivo']['name'];
    		// Pega a extensao
    		$extensao = strrchr($nome, '.');
    		// Converte a extensao para mimusculo
    		$extensao = strtolower($extensao);
    		// Somente imagens, .jpg
    		if(strstr('.jpg', $extensao)) {
    			$novoNome = md5(microtime()) . $extensao;
    			// Concatena a pasta com o nome
    			$destino = FILES . 'produtos/' . $novoNome;
    			
    			$config['image_library'] = 'gd2';
    			$config['source_image']	= $arquivo_tmp;
    			$config['create_thumb'] = TRUE;
    			$config['new_image'] = $destino;
    			$config['maintain_ratio'] = FALSE;
    			$config['master_dim'] = 'width';
    			$config['width']	 = 200;
    			$config['height']	= 200;
    			$config['x_axis']	= 0;
    			$config['y_axis']	= 0;
    			$this->load->library('image_lib', $config);
    			if ($this->image_lib->resize()) {
    				echo 'va para o criar';
    			}
    		} else
    			echo json_encode("Você só pode enviar arquivos do tipo .jpg");
    	} else {
    		echo json_encode("Você não enviou nenhum arquivo!");
    	}
    }
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function diminuir($nome_img, $lar_maxima, $alt_maxima, $qualidade) {
    	if($qualidade == ''){ $qualidade = 100; }
    	$size = getimagesize($nome_img);
    	$tipo = $size[2];
    
    	# Pega onde está a imagem e carrega
    	if($tipo == 2){ // 2 é o JPG
    		$img = imagecreatefromjpeg($nome_img);
    	} if($tipo == 1){ // 1 é o GIF
    		$img = imagecreatefromgif($nome_img);
    	} if($tipo == 3){ // 3 é PNG
    		$img = imagecreatefrompng($nome_img);
    	}
    
    	// Se a imagem foi carregada com sucesso, testa o tamanho da mesma
    	if ($img) {
    	// Pega o tamanho da imagem e proporção de resize
    		$width  = imagesx($img);
    		$height = imagesy($img);
    		$scale  = min($lar_maxima/$width, $alt_maxima/$height);
    
    		// Se a imagem é maior que o permitido, encolhe ela!
    		if ($scale < 1) {
    		$new_width  = floor($scale*$width);
    			$new_height = floor($scale*$height);
    				
    			// Cria uma imagem temporária
    			$tmp_img = imagecreatetruecolor($new_width, $new_height);
    
    			// Copia e resize a imagem velha na nova
    			imagecopyresampled ($tmp_img, $img, 0, 0, 0, 0,
    			$new_width, $new_height, $width, $height);
    
    			// imagedestroy($img);
    			$img = $tmp_img;
    		}
    	}
//     	header("Content-type:image/gif");
    	return imagesavealpha($img, true);
//    		imagejpeg($img,$nome_img,$qualidade);
//    		imagedestroy($img);
// 		return imagejpeg($img,'',$qualidade);	
	}
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function ler(){
    	echo '{ "aaData" : ' . json_encode($this->Produto->ler()) . " } ";
    }
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function atualizar(){
    	if ($this->index->logado() == 'administrador') {
    		
    	}
    }
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function detalhes($iIdProduto){
    	$aProduto = $this->Produto->lerById($iIdProduto)[0];
    	//var_dump($aProduto);
    	$this->index->montarPagina('mesa/produto_detalhes_view', $aProduto);
    }
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function deletar($iIdProduto){
    	
    	if($this->Produto->deletar($iIdProduto)){
    	redirect('produtos');
    	} else {
    		show_404();
    	}
    	if ($this->index->logado() == 'administrador') {
    		
    	}
    }
    
    /**
     * @name
     * @param
     * @param
     * @return
     * @see
     * @since
     * @author
     */
    public function cardapio($iIdCategoria){
    	$this->load->model('Produto');
    	$aData['produtos'] = $this->Produto->lerByIdCategoria($iIdCategoria);
    	$this->index->montarPagina('mesa/produtos_view', $aData);
    }   
}

/* End of file Produtos.php */